#!/usr/bin/zhscript --。
加载lib/gjk4。
赋予最大以如果存在参数1那么‘参数1’否则16。
定义<<以“显示字符9字符9字符9字符9"‘参数1’\n"字符10。”。

<<“push %%rbx”。
<<“mov %1,%%rbx”。
<<“mov %0,%%rax”。
（<<“mov %2,%%rsp”。）
<<“cmp $6,%%rax”。
<<“jbe be6”。
赋予需要以算术‘最大’*8。
<<“sub $‘需要’,%%rsp”。
<<“jmp be6n”。
<<“be6:”。
<<“sub $48,%%rsp”。
<<“be6n:”。

赋予号以0。
循环先
	如果‘号’大于等于‘最大’那么跳出。
	<<“cmp $‘号’,%%rax”。
	如果‘号’大于0那么
		<<“je case‘号’”。
	否则
		<<“jbe case‘号’”。
	赋予号以算术‘号’+1。
了。

赋予号以‘最大’。
循环先
	如果‘号’小于0那么跳出。
	<<case‘号’:。
	赋予源偏以算术(‘号’-1)*8。
	当‘号’先
		等于6那么赋予目标以%%r9，跳出。
		等于5那么赋予目标以%%r8，跳出。
		等于4那么赋予目标以%%rcx，跳出。
		等于3那么赋予目标以%%rdx，跳出。
		等于2那么赋予目标以%%rsi，跳出。
		等于1那么赋予目标以%%rdi，跳出。
		等于0那么跳出。
		那么先
			赋予目偏以算术(‘号’-6)*8。
			<<“mov ‘源偏’(%%rbx),%%rax”。
			<<“mov %%rax,‘目偏’(%%rsp)”。
		了。
		等于7那么先
			<<“mov 40(%%rbx),%%rax”。
			<<“mov %%rax,0(%%rsp)”。
			跳出。
		了。
	了。
	如果存在目标那么先
		<<“mov ‘源偏’(%%rbx),‘目标’”。
		删除目标。
	了。
	赋予号以算术‘号’-1。
了。

<<“pop %%rbx”。
<<“mov $0x0,%%eax”。

